treeview: Don't always grab_focus() when moving the cursor
authorTimm Bäder <mail@baedert.org>
Sun, 28 Apr 2019 09:26:40 +0000 (11:26 +0200)
committerTimm Bäder <mail@baedert.org>
Sun, 28 Apr 2019 09:26:40 +0000 (11:26 +0200)
This doesn't really make sense, we can assume that the treeview already
has the focus when it receives key events.

gtk/gtktreeview.c

index ee55b0dd6b653ebf5bca8b46e15ca5f124779fac..077101e579f2431d3436e6fb1b112db99025901e 100644 (file)
@@ -9394,16 +9394,12 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view,
   GtkTreeRBTree *new_cursor_tree = NULL;
   GtkTreeRBNode *new_cursor_node = NULL;
   GtkTreePath *cursor_path = NULL;
-  gboolean grab_focus = TRUE;
   gboolean selectable;
   GtkDirectionType direction;
   GtkCellArea *cell_area = NULL;
   GtkCellRenderer *last_focus_cell = NULL;
   GtkTreeIter iter;
 
-  if (! gtk_widget_has_focus (GTK_WIDGET (tree_view)))
-    return;
-
   if (tree_view->priv->cursor_node == NULL)
     return;
 
@@ -9529,8 +9525,6 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view,
                                         count < 0 ?
                                         GTK_DIR_TAB_BACKWARD :
                                         GTK_DIR_TAB_FORWARD);
-
-              grab_focus = FALSE;
             }
         }
       else
@@ -9541,9 +9535,6 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view,
       if (cell_area)
        gtk_cell_area_set_focus_cell (cell_area, last_focus_cell);
     }
-
-  if (grab_focus)
-    gtk_widget_grab_focus (GTK_WIDGET (tree_view));
 }
 
 static void